package per.hx.bs.web.sys.service;

import org.apache.shiro.session.Session;
import org.springframework.stereotype.Service;
import per.hx.bs.base.entity.UserOnline;
import per.hx.bs.shiro.ShiroUser;

import java.util.Collection;
import java.util.List;

/**
 * @author HuXing
 * @date 2018/3/25  17:20
 */
@Service
public interface SysSessionService {
    /**
     * 获取所有在线用户
     *
     * @return 在线用户
     */
    List<UserOnline> list();

    /**
     * 获取在线用户
     *
     * @return 在线用户
     */

    List<ShiroUser> listOnlineUser();

    /**
     * 获取session
     *
     * @return session集合
     */
    Collection<Session> sessionList();

    /**
     * 用户下线id
     *
     * @param sessionId 用户下线id
     * @return 结果
     */
    boolean forceLogout(String sessionId);

    /**
     * 用户下线
     *
     * @param sessionIdS 用户下线ids
     * @return 下线数量
     */
    int batchForceLogout(String[] sessionIdS);
}
